#ifndef __ATL_IFS_H__
#define __ATL_IFS_H__
#include <cstdint.h>
#include "fs.h"
#define DRI_CLASS_IFS 0x02
#ifdef __cplusplus
extern "C"{
#endif

	typedef struct vfs_node * (*mount_ifs_t) (struct vfs_node* dev);
	typedef void (*umount_ifs_t) (struct vfs_node* mp);
	typedef struct ifs_descriptor {
		uint32_t		ifs_id;
		char			ifs_name[16];
		mount_ifs_t		ifs_mount_cb;
		umount_ifs_t	ifs_umount_cb;
	} ifs_descriptor_t;
	ifs_descriptor_t *ifs_get_desc(char *type);
	void ifs_initialize();
	void ifs_register(ifs_descriptor_t *desc);
	int ifs_mount(struct vfs_node* mp,struct vfs_node* dev,char *type);
	int ifs_umount(struct vfs_node* mp,char *type);
#ifdef __cplusplus
}
#endif
#endif